package com.amazon.SellingPartnerAPIAA;

/**
 * AWSAuthenticationCredentialsProvider
 */
public class AWSAuthenticationCredentialsProvider {
    /**
     * AWS IAM Role ARN
     */
    private String roleArn;

    /**
     * AWS IAM Role Session Name
     */
    private String roleSessionName;
    
    private AWSAuthenticationCredentialsProvider() {}

    private AWSAuthenticationCredentialsProvider(AWSAuthenticationCredentialsProvider origin) {
    	this.roleArn = origin.roleArn;
		this.roleSessionName = origin.roleSessionName;
    }
    
    public static AWSAuthenticationCredentialsProvider.Builder builder(){
        return new Builder();
    }
    
    public static class Builder {
    	
        private AWSAuthenticationCredentialsProvider target;

        public Builder() {
            this.target = new AWSAuthenticationCredentialsProvider();
        }

        public Builder roleArn(String roleArn) {
            target.roleArn = roleArn;
            return this;
        }

        public Builder roleSessionName(String roleSessionName) {
            target.roleSessionName = roleSessionName;
            return this;
        }

        public AWSAuthenticationCredentialsProvider build() {
            return new AWSAuthenticationCredentialsProvider(target);
        }
    }

	public String getRoleArn() {
		return roleArn;
	}

	public void setRoleArn(String roleArn) {
		this.roleArn = roleArn;
	}

	public String getRoleSessionName() {
		return roleSessionName;
	}

	public void setRoleSessionName(String roleSessionName) {
		this.roleSessionName = roleSessionName;
	}
    
    


}
